<!doctype html>
<html lang="en">
	<head>
		<meta charset="UTF-8" />
		<meta http-equiv="X-UA-Compatible" content="IE=edge" />
		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
		<title>Document</title>
	</head>

	<body>
		<input type="text" id="1" />
		<input type="text" id="2" />

		<script>
			let obj = {};

			Object.defineProperty(obj, 'value', {
				// value ——当试图获取属性时所返回的值。

				// writable ——该属性是否可写。

				// enumerable ——该属性在for in循环中是否会被枚举。

				// configurable ——该属性是否可被删除。

				// set() ——该属性的更新操作所调用的函数。

				// get() ——获取属性值时所调用的函数
				get() {
					console.log(1);
					return obj._value;
				},
				set(value) {
					this._value = value;
					let input2 = document.querySelectorAll('input')[1];
					input2.value = value;
				},
			});

			let input1 = (document.querySelectorAll('input')[0].oninput = function (e) {
				obj.value = e.target.value;
			});

			obj.value;
		</script>
	</body>
</html>
